<?php
/**
 * Created by PhpStorm.
 * User: 杨胜飞
 * Date: 2017\8\26 0026
 * Time: 16:11
 */

namespace app\common\model;


use think\Db;
use think\Model;

/**
 * Class NewRecord
 * @package app\common\model
 *     新装记录表  模型
 */
class NewRecord extends Model
{

    /**
     * @param $data  ->  数据  ['key' => 'value', 'key' => 'value']
     * @return bool|false|int
     *     添加 新装记录表 数据 过滤掉表中不存在的数据
     */
    public function add($data)
    {
        // 添加 新装记录表 数据 过滤掉表中不存在的字段
        $this->data($data);
        $result = $this->allowField(true)->save();
        // 判断结果 并返回
        if ($result !== 1) {
            return false;
        }
        return $result;
    }

    /**
     * @param $id  -> id=value
     * @return $this|bool
     *     根据主键ID 完成一次逻辑删除
     */
    public function remove($id)
    {
        // 根据主键ID 完成一次逻辑删除
        $result = $this->where('new_record_id', $id)->update(['is_delete' => 1]);
        // 判断结果 并返回
        if ($result !== 1) {
            return false;
        }
        return $result;
    }

    /**
     * @param $where  ->  条件  ['key' => 'value']
     * @param $data   ->  数据  ['key' => 'value', 'key' => 'value']
     * @return $this|bool
     *     根据条件 $where 完成一次数据修改
     */
    public function edit($where, $data)
    {
        // 根据条件 $where 完成一次数据修改
        $result = $this->where($where)->update($data);
        // 判断结果 并返回
        if ($result !==  1) {
            return false;
        }
        return $result;
    }

    /**
     * @param $where  ->  条件   ['key' => 'value']
     * @return array|bool|false|\PDOStatement|string|Model
     *      根据条件 $where 获取单条数据
     */
    public function getOne($where)
    {
        // 根据条件 $where 查询单条数据
        $userInfo = $this->where($where)->cache(true)->find();
        // 判读结果 并返回
        if ($userInfo == false) {
            return false;
        }
        return $userInfo;
    }

    /**
     * @return bool|false|\PDOStatement|string|\think\Collection
     *      获取 新装记录表 所有数据
     */
    public function getList()
    {
        // 获取 新装记录表 所有 未被逻辑删除的 数据
        $userInfo = $this->where(['is_delete' => 0])->cache(true)->select();
        // 判断结果 并返回
        if ($userInfo == false) {
            return false;
        }
        return $userInfo;
    }

    /*
     *  查询所有维修记录
     *  @author ligang
     *  @param $where   条件
     *  @return array
     */
    public function selectWhereAll($where=array())
    {
        $result = Db::name('new_record')->where($where)->select();
        return $result;
    }

}